package limfic.persistencia.mysql.usuario;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import limfic.dominio.Rol;
import limfic.persistencia.mysql.RepositorioGenerico;

/**
 * Clase que lee los roles de la base de datos.
 * <p> hereda de repositorio generico.
 * @author OpenCodes
 */
public class RolRepositorio extends RepositorioGenerico<Rol> implements IRolRepositorio {

    public RolRepositorio(Connection connection) {
        super(connection);
    }
     
    @Override
    public Rol mapearFila(ResultSet resultSet) throws SQLException {
        int i = 1; // es el indice de la columna
        // Rol
        try {
            int idRol = resultSet.getInt(i++);
            String nombreRol = resultSet.getString(i++);
            Rol rol = new Rol(idRol, nombreRol);
            return rol;
        } catch (Exception nulo) {
            throw new SQLException("No existen roles para mostrar. Detalles: " + nulo.getMessage());
        }
    }

    @Override
    protected String sqlObtenerTodos() {
         String sqlRoles;
         sqlRoles = "Select * from rol";
         return sqlRoles;
    }
    
    @Override
    protected String sqlExiste(String[] parametrosChekeo) {
        throw new UnsupportedOperationException("Funcion no implementada todavia");
    }

    @Override
    protected String sqlAgregar(Rol entity) {
        throw new UnsupportedOperationException("Funcion no implementada todavia");
    }

    @Override
    protected String sqlModificar(Rol entity) {
        throw new UnsupportedOperationException("Funcion no implementada todavia");
    }

    @Override
    protected String sqlEliminar(Rol entity) {
        throw new UnsupportedOperationException("Funcion no implementada todavia");
    }

    @Override
    protected String sqlObtenerUno(String id) {
        throw new UnsupportedOperationException("Funcion no implementada todavia");
    }

    @Override
    protected String sqlObtenerAlgunos(String[] parametrosBusqueda) {
        throw new UnsupportedOperationException("Funcion no implementada todavia");
    }

   

}
